A Domain-Specific Language for Device Drivers
نویسنده
چکیده
Device drivers have been noted as a major source of faults in operating system code [2]. Largely for efficiency, device drivers and other systems code have historically been written in low-level languages like C. Unfortunately, these languages do not provide the type safety and robustness one would expect in critical systems code. Work has been done to augment the type safety of low-level languages [3, 6], but the efficacy of this work is limited by both fundamental and practical concerns. In this paper, I will describe a domain-specific language and compiler for network interface device drivers. The language has been used to implement a driver for NE2000 network cards, a widely available class of inexpensive LAN adaptors. The language includes direct support for the operational semantics of device drivers and provides a high level of type safety. Concurrency semantics are included for the description of devices with multiple independent operational units. Though the language has been built for and tested on network drivers, it is flexible enough to describe a wider class of drivers. The compiler is also designed to be readily ported to a wider class of operating systems.
منابع مشابه
Domain-Specific Languages: From Design to Implementation Application to Video Device Drivers Generation
Domain-specific languages (DSL) have many potential advantages in terms of software engineering ranging from increased productivity to the application of formal methods. Although they have been used in practice for decades, there has been little study of methodology or implementation tools for the DSL approach. In this paper we present our DSL approach and its application to a realistic domain:...
متن کاملTowards Verifiable Device Drivers: an Approach Based on Domain-specific Languages Fabrice Mérillon Laurent Réveillère Charles Consel Robin Hansen Renaud Marlet
Although peripheral devices come out at a frantic pace and require fast releases of drivers, little progress has been made to improve the development of drivers. Too often, this development consists of decoding hardware intricacies, based on ambiguous or incomplete documentation , to determine how to operate a device. Then, assembly-level operations need to be used to interact with the device. ...
متن کاملImproving Driver Robustness: an Evaluation of the Devil Approach Laurent Réveillère and Gilles Muller
To keep up with the frantic pace at which devices come out, drivers need to be quickly developed, debugged and tested. We have recently introduced a new approach to improve driver robustness based on an Interface Definition Language, named Devil. Devil allows a high-level definition of the communication of a device. A compiler automatically checks the consistency of a Devil specification and ge...
متن کاملSmPL: A Domain-Specific Language for Specifying Collateral Evolutions in Linux Device Drivers
Collateral evolutions are a pervasive problem in large-scale software development. Such evolutions occur when an evolution that affects the interface of a generic library entails modifications, i.e., collateral evolutions, in all library clients. Performing these collateral evolutions requires identifying the affected files and modifying all of the code fragments in these files that in some way...
متن کاملA Domain Specific Language for Video Device Drivers: From Design to Implementation
Domain-speci c languages (DSL) have many potential advantages in terms of software engineering ranging from increased productivity to the application of formal methods. Although they have been used in practice for decades, there has been little study of methodology or implementation tools for the DSL approach. In this paper we present our DSL approach and its application to a realistic applicat...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2002